<?php

class UsuariosController extends AppController {
	 
    	public $paginate = array(
        'limit' => 25,
        'conditions' => array('status' => '1'),
    	'order' => array('Usuario.username' => 'asc' ) 
    );
	
   /* public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('login','add'); 
    }
	*/
	public function login() {
		
		//si ya esta logeado redirecciona
		if($this->Session->check('Auth.Usuario')){
			$this->redirect(array('action' => 'index'));		
		}
		
		// si enviamos la informacion intenta autenticar
		if ($this->request->is('post')) {
			if ($this->Auth->login()) {
				$this->Session->setFlash(__('Bienvenido, '. $this->Auth->usuario('username')));
				$this->redirect($this->Auth->redirectUrl());
			} else {
				$this->Session->setFlash(__('Clave y Usuario Invalido'));
			}
		} 
	}
	
	public function logout() {
		$this->redirect($this->Auth->logout());
	}

	  public function index() {
		$this->paginate = array(
			'limit' => 6,
			'order' => array('Usuario.username' => 'asc' )
		);
		$usuarios = $this->paginate('Usuario');
		$this->set(compact('usuarios'));
    }

	
	  public function add() {
        if ($this->request->is('post')) {
				
			$this->Usuario->create();
			if ($this->Usuario->save($this->request->data)) {
				$this->Session->setFlash(__('El usuario ha sido creado'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('El usuario no puede ser creado.Porfavor, intente de nuevo.'));
			}	
        }
    }
	    public function edit($id = null) {

		    if (!$id) {
				$this->Session->setFlash('Proporcionar un codigo al usuario');
				$this->redirect(array('action'=>'index'));
			}

			$user = $this->Usuario->findById($id);
			if (!$usuario) {
				$this->Session->setFlash('Usuario invalido');
				$this->redirect(array('action'=>'index'));
			}

			if ($this->request->is('post') || $this->request->is('put')) {
				$this->Usuario->id = $id;
				if ($this->Usuario->save($this->request->data)) {
					$this->Session->setFlash(__('El usuario ha sido actualizado'));
					$this->redirect(array('action' => 'edit', $id));
				}else{
					$this->Session->setFlash(__('Invalido para actualizar usuario.'));
				}
			}

			if (!$this->request->data) {
				$this->request->data = $usuario;
			}
    } 
	
	
	
	
	  public function delete($id = null) {
		
		if (!$id) {
			$this->Session->setFlash('Proporcionar un usuario');
			$this->redirect(array('action'=>'index'));
		}
		
        $this->Usuario->id = $id;
        if (!$this->Usuario->exists()) {
            $this->Session->setFlash('usuario invalido');
			$this->redirect(array('action'=>'index'));
        }
        if ($this->Usuario->saveField('status', 0)) {
            $this->Session->setFlash(__('Usuario eliminado'));
            $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Usuario no fue elimminado'));
        $this->redirect(array('action' => 'index'));
    }
	
	
		public function activate($id = null) {
		
		if (!$id) {
			$this->Session->setFlash('Proporcionar un usuario');
			$this->redirect(array('action'=>'index'));
		}
		
        $this->Usuarior->id = $id;
        if (!$this->Usuario->exists()) {
            $this->Session->setFlash('usuario invalido');
			$this->redirect(array('action'=>'index'));
        }
        if ($this->Usuario->saveField('status', 1)) {
            $this->Session->setFlash(__('usuario reactivado'));
            $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Usuario no fue reactivado'));
        $this->redirect(array('action' => 'index'));
    }
} 
?>